package com.magist.manage.copyrights.dto;

import com.magist.core.annotation.Compare;
import com.magist.manage.copyrights.entity.ContractRights;
import com.magist.manage.copyrights.entity.Copyrights;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@ApiModel(value = "SupplyContractDto")
public class SupplyContractDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private String id;
    @ApiModelProperty(value="展示ID")
    @Compare("ID")
    private String showId;
    @ApiModelProperty(value = "合同名称")
    @Compare("合同名称")
    private String contractName;
    @ApiModelProperty(value = "合同类型")
    @Compare(value = "合同类型",enumClass = "com.magist.manage.enums.ContractTypeEnum")
    private String contractType;
    @ApiModelProperty(value = "合同编号")
    @Compare("合同编号")
    private String contractNo;
    @ApiModelProperty(value="版权引入合同编号")
    @Compare("版权引入合同编号")
    private String contractInNo;
    @ApiModelProperty(value = "协议有效期")
    @Compare("协议有效期")
    private Integer mounthNum;
    @ApiModelProperty(value = "开始时间")
    @Compare("开始时间")
    private Date beginDate;
    @ApiModelProperty(value = "终止时间")
    @Compare("终止时间")
    private Date endDate;
    @ApiModelProperty(value = "签约方数量")
    @Compare("签约方数量")
    private Integer contractNum;
    @ApiModelProperty(value = "合作供应商ID")
    private String supplyId;
    @ApiModelProperty(value = "合作供应商名称")
    @Compare("合作供应商名称")
    private String supplyName;
    @ApiModelProperty(value = "联系方式")
    @Compare("联系方式")
    private String linkMobile;
    @ApiModelProperty(value = "地址邮编")
    @Compare("地址邮编")
    private String address;
    @ApiModelProperty(value = "邮编")
    @Compare("邮编")
    private String postCode;
    @ApiModelProperty(value = "签约责编")
    @Compare("签约责编")
    private String signName;
    @ApiModelProperty(value = "证件号码")
    @Compare("证件号码")
    private String certNo;
    @ApiModelProperty(value = "证件附件")
    @Compare("证件附件")
    private String appendixAddress;
    @ApiModelProperty(value="证件图片名")
    @Compare("证件图片名")
    private String appendixFileName;
    @ApiModelProperty(value = "账户名")
    @Compare("账户名")
    private String accountName;
    @ApiModelProperty(value = "开户行")
    @Compare("开户行")
    private String bankName;
    @ApiModelProperty(value = "账号")
    @Compare("账号")
    private String bankNo;
    @ApiModelProperty(value = "结算形式")
    @Compare(value = "结算形式",enumClass = "com.magist.manage.enums.BalanceTypeEnum")
    private String balanceType;
    @ApiModelProperty(value = "金额")
    @Compare("金额")
    private Double totalAmount;
    @ApiModelProperty(value = "结算说明")
    @Compare("结算说明")
    private String balanceRemark;
    @ApiModelProperty(value = "合同状态")
    @Compare(value = "合同状态",enumClass = "com.magist.manage.enums.ValidStatusEnum")
    private String contractStatus;

    // 到期状态
    @ApiModelProperty(value = "到期状态")
    private String expireStatus;

    // 修改者
    private String modifier;

    // 合同编号/合同名称/供应商简称
    @ApiModelProperty(value="合同编号/合同名称/供应商简称")
    private String compoundSearch;

    // 合同结算
    @ApiModelProperty(value="甲方名称")
    @Compare("甲方名称")
    private String partyOne;
    @ApiModelProperty(value="丙方名称")
    @Compare("丙方名称")
    private String partyThree;
    @ApiModelProperty(value="甲方比例")
    @Compare("甲方比例")
    private Integer partyOneNum;
    @ApiModelProperty(value="乙方比例")
    @Compare("乙方比例")
    private Integer partyTwoNum;
    @ApiModelProperty(value="丙方比例")
    @Compare("丙方比例")
    private Integer partyThreeNum;
    @ApiModelProperty(value="乙方名称")
    @Compare("乙方名称")
    private String partyTwo;

    @ApiModelProperty(value="修改时间")
    private Date modifyTime;

    private String authById;

    // 附件
    private List<AppendixProjectDto> appendixProjects;

    // 版权列表
    private List<Copyrights> copyrights;

    // 授权列表
    private List<ContractRights> contractRights;

    /**
     * 主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 主键
     */
    public String getId() {
        return this.id;
    }

    /**
     * 合同名称
     */
    public void setContractName(String contractName) {
        this.contractName = contractName;
    }

    /**
     * 合同名称
     */
    public String getContractName() {
        return this.contractName;
    }

    /**
     * 合同类型
     */
    public void setContractType(String contractType) {
        this.contractType = contractType;
    }

    /**
     * 合同类型
     */
    public String getContractType() {
        return this.contractType;
    }

    /**
     * 合同编号
     */
    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    /**
     * 合同编号
     */
    public String getContractNo() {
        return this.contractNo;
    }

    /**
     * 协议有效期
     */
    public void setMounthNum(Integer mounthNum) {
        this.mounthNum = mounthNum;
    }

    /**
     * 协议有效期
     */
    public Integer getMounthNum() {
        return this.mounthNum;
    }

    /**
     * 开始时间
     */
    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    /**
     * 开始时间
     */
    public Date getBeginDate() {
        return this.beginDate;
    }

    /**
     * 终止时间
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * 终止时间
     */
    public Date getEndDate() {
        return this.endDate;
    }

    /**
     * 签约方比例
     */
    public void setContractNum(Integer contractNum) {
        this.contractNum = contractNum;
    }

    /**
     * 签约方比例
     */
    public Integer getContractNum() {
        return this.contractNum;
    }

    /**
     * 合作供应商ID
     */
    public void setSupplyId(String supplyId) {
        this.supplyId = supplyId;
    }

    /**
     * 合作供应商ID
     */
    public String getSupplyId() {
        return this.supplyId;
    }

    /**
     * 合作供应商名称
     */
    public void setSupplyName(String supplyName) {
        this.supplyName = supplyName;
    }

    /**
     * 合作供应商名称
     */
    public String getSupplyName() {
        return this.supplyName;
    }

    /**
     * 联系方式
     */
    public void setLinkMobile(String linkMobile) {
        this.linkMobile = linkMobile;
    }

    /**
     * 联系方式
     */
    public String getLinkMobile() {
        return this.linkMobile;
    }

    /**
     * 地址邮编
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 地址邮编
     */
    public String getAddress() {
        return this.address;
    }

    /**
     * 邮编
     */
    public void setPostCode(String postCode) {
        this.postCode = postCode;
    }

    /**
     * 邮编
     */
    public String getPostCode() {
        return this.postCode;
    }

    /**
     * 签约责编
     */
    public void setSignName(String signName) {
        this.signName = signName;
    }

    /**
     * 签约责编
     */
    public String getSignName() {
        return this.signName;
    }

    /**
     * 证件号码
     */
    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    /**
     * 证件号码
     */
    public String getCertNo() {
        return this.certNo;
    }

    /**
     * 证件附件
     */
    public void setAppendixAddress(String appendixAddress) {
        this.appendixAddress = appendixAddress;
    }

    /**
     * 证件附件
     */
    public String getAppendixAddress() {
        return this.appendixAddress;
    }

    /**
     * 账户名
     */
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    /**
     * 账户名
     */
    public String getAccountName() {
        return this.accountName;
    }

    /**
     * 开户行
     */
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    /**
     * 开户行
     */
    public String getBankName() {
        return this.bankName;
    }

    /**
     * 账号
     */
    public void setBankNo(String bankNo) {
        this.bankNo = bankNo;
    }

    /**
     * 账号
     */
    public String getBankNo() {
        return this.bankNo;
    }

    /**
     * 结算形式
     */
    public void setBalanceType(String balanceType) {
        this.balanceType = balanceType;
    }

    /**
     * 结算形式
     */
    public String getBalanceType() {
        return this.balanceType;
    }

    /**
     * 金额
     */
    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    /**
     * 金额
     */
    public Double getTotalAmount() {
        return this.totalAmount;
    }

    /**
     * 结算说明
     */
    public void setBalanceRemark(String balanceRemark) {
        this.balanceRemark = balanceRemark;
    }

    /**
     * 结算说明
     */
    public String getBalanceRemark() {
        return this.balanceRemark;
    }

    /**
     * 合同状态
     */
    public void setContractStatus(String contractStatus) {
        this.contractStatus = contractStatus;
    }

    /**
     * 合同状态
     */
    public String getContractStatus() {
        return this.contractStatus;
    }

    public String getPartyOne() {
        return partyOne;
    }

    public void setPartyOne(String partyOne) {
        this.partyOne = partyOne;
    }

    public String getPartyThree() {
        return partyThree;
    }

    public void setPartyThree(String partyThree) {
        this.partyThree = partyThree;
    }

    public Integer getPartyOneNum() {
        return partyOneNum;
    }

    public void setPartyOneNum(Integer partyOneNum) {
        this.partyOneNum = partyOneNum;
    }

    public Integer getPartyTwoNum() {
        return partyTwoNum;
    }

    public void setPartyTwoNum(Integer partyTwoNum) {
        this.partyTwoNum = partyTwoNum;
    }

    public Integer getPartyThreeNum() {
        return partyThreeNum;
    }

    public void setPartyThreeNum(Integer partyThreeNum) {
        this.partyThreeNum = partyThreeNum;
    }

    public String getPartyTwo() {
        return partyTwo;
    }

    public void setPartyTwo(String partyTwo) {
        this.partyTwo = partyTwo;
    }

    public List<AppendixProjectDto> getAppendixProjects() {
        return appendixProjects;
    }

    public void setAppendixProjects(List<AppendixProjectDto> appendixProjects) {
        this.appendixProjects = appendixProjects;
    }

    public String getCompoundSearch() {
        return compoundSearch;
    }

    public void setCompoundSearch(String compoundSearch) {
        this.compoundSearch = compoundSearch;
    }

    public String getExpireStatus() {
        return expireStatus;
    }

    public void setExpireStatus(String expireStatus) {
        this.expireStatus = expireStatus;
    }

    public String getContractInNo() {
        return contractInNo;
    }

    public void setContractInNo(String contractInNo) {
        this.contractInNo = contractInNo;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public List<Copyrights> getCopyrights() {
        return copyrights;
    }

    public void setCopyrights(List<Copyrights> copyrights) {
        this.copyrights = copyrights;
    }

    public List<ContractRights> getContractRights() {
        return contractRights;
    }

    public void setContractRights(List<ContractRights> contractRights) {
        this.contractRights = contractRights;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getAppendixFileName() {
        return appendixFileName;
    }

    public void setAppendixFileName(String appendixFileName) {
        this.appendixFileName = appendixFileName;
    }

    public String getShowId() {
        return showId;
    }

    public void setShowId(String showId) {
        this.showId = showId;
    }

    public String getAuthById() {
        return authById;
    }

    public void setAuthById(String authById) {
        this.authById = authById;
    }
}